package org.footballmanager.pandafootball.system.service;

import org.footballmanager.pandafootball.system.domain.FootScinfo;
import org.footballmanager.pandafootball.system.form.impl.FootScinfoSearchForm;
import org.springframework.ui.Model;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface FootScinfoService extends BaseService<FootScinfo> {
    /**
     * 是否收藏
     *
     * @param userId 用户主键
     * @param qyId   球员主键
     * @return 是否收藏
     */
    boolean isSc(Long userId, Long qyId);

    /**
     * 根据用户主键查找收藏信息
     *
     * @param userId 用户主键
     * @return 收藏列表
     */
    List<FootScinfo> findCollectionByUserId(Long userId);

    /**
     * 根据用户主键和球员主键查找收藏记录
     *
     * @param userId 用户主键
     * @param qyId   球员主键
     * @return 收藏记录
     */
    FootScinfo findByUserIdAndQyid(Long userId, Long qyId);

    /**
     * 根据球员主键获取收藏信息
     *
     * @param qyId 球员主键
     * @return 收藏列表
     */
    List<FootScinfo> findByQyid(Long qyId);

    /**
     * 翻页方法
     *
     * @param footScinfoSearchForm 条件
     * @return 列表
     */
    List<FootScinfo> findall(FootScinfoSearchForm footScinfoSearchForm);

    /**
     * 查询
     *
     * @param entityname           实体类名
     * @param map                  参数
     * @param footScinfoSearchForm 条件
     */
    void search(String entityname, Model map, FootScinfoSearchForm footScinfoSearchForm);

    /**
     * 根据用户主键删除对应记录
     *
     * @param userId  用户主键
     * @param request 请求
     */
    void deleteByUserId(Long userId, HttpServletRequest request);
}